﻿/* tslint:disable:jsdoc-format max-line-length */
// warning: Generated code! Do not change!
module App.Models {
	"use strict";
	// enums
	export enum State {
		None,
		Poor,
		Normal,
		Awesome
	}

	// interfaces
	// models
	export interface IBase {
		id: number;
	}

	export class Base implements IBase {
		id: number;
		constructor(data?: IBase) {
			this.id = data ? data.id : null;
		}
	}

	export interface IBaseSample extends IBase {
		name: string;
		description: string;
		state: Models.State;
	}

	export class BaseSample implements IBaseSample {
		name: string;
		description: string;
		state: Models.State;
		id: number;
		constructor(data?: IBaseSample) {
			this.name = data ? data.name : null;
			this.description = data ? data.description : null;
			this.state = data ? data.state : null;
			this.id = data ? data.id : null;
		}
	}

	export interface ISample {
		id: number;
		name: string;
		description: string;
		state: Models.State;
	}

	export class Sample implements ISample {
		id: number;
		name: string;
		description: string;
		state: Models.State;
		constructor(data?: ISample) {
			this.id = data ? data.id : null;
			this.name = data ? data.name : null;
			this.description = data ? data.description : null;
			this.state = data ? data.state : null;
		}
	}

}